<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>

        // 在一个已经排序好的数组中插入值   [1,2,3,5,7]   -> 6    [1,2,3,5,6,7]
        //   插入的位置要么在最前面
        //   要么在最后面
        //   要么在中间
        
        function insert(arr , n) {
            if(n < arr[0]) {
                arr.unshift(n) ;
                return ;
            }
            if( n > arr[arr.length - 1]) {
                arr.push(n) ;
                return ;
            }
            // 插入的这个值只要比前面一个数大并且比后面一个数小，就是要插入的位置
            for(var i = 0 ; i < arr.length ; i++) {
                if(n >= arr[i] && n <= arr[i+1]) {
                    arr.splice(i+1 , 0 , n) ;
                    break ;
                }
            }
        }

        var arr2 = [1,2,3,5,7] ;
        insert(arr2 , 56) ;
        console.log(arr2);

        // 1 2 3 5 7
        // 1 2 3 5 6 7
        // 1 2 3 5 6 6 7
        // 条件一直在满足 ，就会一直插入  。。。 死循环

    </script>
    
</body>
</html>